[versions]
spring-boot = "3.2.4"
mapstruct = "1.5.5.Final"
test-containers = "1.19.7"

[plugins]
spring = { id = "org.springframework.boot", version.ref = "spring-boot" }
open-api = { id = "org.openapi.generator", version = "7.3.0"}

[libraries]
#Spring Boot libraries
spring-web = { module = "org.springframework.boot:spring-boot-starter-web", version.ref = "spring-boot" }
spring-data-jpa = { module = "org.springframework.boot:spring-boot-starter-data-jpa", version.ref = "spring-boot" }
spring-test = { module = "org.springframework.boot:spring-boot-starter-test", version.ref = "spring-boot" }
spring-validation = { module = "org.springframework.boot:spring-boot-starter-validation", version.ref = "spring-boot" }
spring-security = { module = "org.springframework.boot:spring-boot-starter-security", version.ref = "spring-boot"}

#Additional libraries
javax-annotation = { module = "javax.annotation:javax.annotation-api", version = "1.3.2" }
lombok = { module = "org.projectlombok:lombok", version = "1.18.30" }
liquibase = { module = "org.liquibase:liquibase-core", version = "4.22.0" }
postgresql-driver = { module = "org.postgresql:postgresql", version = "42.6.0" }
mapstruct = { module = "org.mapstruct:mapstruct", version.ref = "mapstruct" }
mapstruct-processor = { module = "org.mapstruct:mapstruct-processor", version.ref = "mapstruct" }

#Open-api libraries
open-api-springdoc = { module = "org.springdoc:springdoc-openapi-starter-webmvc-ui", version = "2.2.0"}
open-api-generator = { module = "org.openapitools:openapi-generator-gradle-plugin", version = "7.3.0"}
swagger-annotations = { module = "io.swagger.core.v3:swagger-annotations", version = "2.2.20"}

#Test libraries
testcontainers-jupiter = { module = "org.testcontainers:junit-jupiter", version.ref = "test-containers" }
testcontainers-postgresql = { module = "org.testcontainers:postgresql", version.ref = "test-containers" }
assertj = { module = "org.assertj:assertj-core", version = "3.23.1" }